#ifndef SIMULATION_COMMANDS_H
#define SIMULATION_COMMANDS_H

#include <QtCore/QUuid>
#include <QtGui/QUndoCommand>

namespace swp
{
class SimGraphicData;

class BuildSimPathCommand : public QUndoCommand
{
public:
    BuildSimPathCommand(SimGraphicData* data, const QList<QUuid>& before,
        const QList<QUuid>& after, bool ignoreFirstRedo = false);
    ~BuildSimPathCommand();

    void undo();
    void redo();

protected:
    SimGraphicData* m_data;
    QList<QUuid> m_before;
    QList<QUuid> m_after;
    bool m_ignoreFirstRedo;
};

} // namespace swp

#endif
